Posts Tagged “hack”

Greasemonkey script for RealEstate.com.au - Hide previously viewed properties from map

Looking for a new house, and got sick of having to wade through the same listings every few days. So this script stops pins showing up in the map if I've already viewed them on the map.Previously viewed properties are stored in your browsers local storage, so easiest way to clear is pasting the code below into the console while on RealEstate.com.au
localStorage.setItem('viewedProps', '');
Can get script at [https://gist.github.com/sacah/49cb7073605513af76a1#file-hide-previously-viewed-properties-realestate-com-au-user-js](https://gist.github.com/sacah/49cb7073605513af76a1#file-hide-previously-viewed-properties-realestate-com-au-user-js)

Linux Batch Thumbnail Creation of folder with subdirectories

I have a RaspberryPi with a 750gb attached HDD, on this drive I store a folder called Photos, it contains many sub-directories with photos in them.I wanted to create a new directory that had the same structure of Photos, but all the images are smaller thumbnailed versions.To accomplish this I tried a number of programs and scripts I found online for linux, but most didn't handle sub-directories, I then tried to find programs on Windows that would do this across the network, but they either didn't handle sub-directories or didn't handle errors in network traffic and would bomb out.Read more...

Hacking Proxy support into Brackets

Started using Brackets at work, though they use a corporate proxy, so I did a quick hack to get proxy support into Brackets for installing Extensions.

Update:
Version 0.41 and above you can define the proxy in the Preferences file, in Brackets go Debug -> Open Preference File.
Then add a line
"proxy": "http://localhost:3128",Read more...

Dungeon Siege III - GFX Files

GFX files are basically SWFs, to edit them rename them to a *.swf file and with a hex editor change the first 3 bytes from CFX to CWS, then any Flash Decompiler will happily open them.

I've opened them up and inspected the Actionscript which all worked though I'm yet to try editing one, my guess is you should just be able to change the first 3 bytes back to CFX and rename it back to an *.gfx file for it to work, though depending how it modifies the SWF it might break something extra that GFX files have that SWF doesn't.

Let me know if you've had any success, or more info, I'll update this post as I find out more.

Dungeon Siege III - Enable Console

So just bought Dungeon Siege 3 and was horrified with the unchangeable camera angles. So I set about having a dig around the game to try and find a way to change the camera, while digging around I noticed a console file, and the Dungeon Siege III.exe had a number of console commands in it, so I replaced the Help Topics file with the Console, so now when I'm in game I can press Esc, click 'Help Topics' and the console will appear.

After playing around with all the console commands I could find in relation to camera none seemed to have any effect, though most other console commands works, such as adding money, items, XP, levels etc. So cheating is easy in Dungeon Siege III, but changing the camera angles isn't )-: Hopefully I'll have more time to play around with them and work something useful out.

The easiest way to activate the console on your version is by downloading the gui.zip file from http://www.mediafire.com/?sa7a3gepx3ea4f5, then extract the 'gui' folder from gui.zip into %steamapps%\common\dungeon siege iii\data\. Now start Dungeon Siege 3, and when in-game, click 'Help Topics' from the menu to access the console. You'll need to watch the video at 720 to read the names.

If the above video instructions didn't work for you, here are the manual steps.

I grabbed the Dungeon Siege 3 OAF Files Extractor and unpacked the files to a temp directory, unpack data_archive.oaf first, then unpack data_archive_2.oaf into the same place, the files in data_archive_2.oaf overwrite some which is how the game works too.

After looking around my first step was to get console working, I copied gui\console.scn and gui\game.gui into %steamapps%\common\dungeon siege iii\data\gui

Rather than having to repack the archives after editing just drop the files you changed here and it will pick it up rather than using the archived copy.

Now rename console.scn to help_topics.scn and edit game.gui. Find the line
help_topics.scn   parsefunction GUI_command_parser_help_topics
Change to
help_topicx.scn   parsefunction GUI_command_parser_help_topics

Then find the line
console.scn   parserfunction GUI_command_parser_console   game_flags  1
Change to
help_topics.scn   parserfunction GUI_command_parser_console   game_flags  1

Orange signals what was changed for ease of reading.

Now run the game, while in game press Esc, in the menu click Help Topics and you'll have access to the console.

To get back to the game type modal_close_all and press enter. You can also type mod and press TAB to auto-complete. As we've hacked the console into an unusual place, things don't appear in it's history straight away, so if you press top_down_mp_ and press TAB, because there are multiple options it won't display anything. After you have pressed TAB, just delete the text and type modal_close_all, then enter the console again and you'll now be able to see the options for your previous commands, so we'll see all available options for top_down_mp_ console commands.

I'll add the console commands and explanation here slowly as I find them, though I can't test them all so some might not work, let me know if you find more, descriptions are wrong or they don't work and I'll update this list.

avoidance_scale
avoidance_range
avoidance_count
avoidance_collection_range
avoidance_collection_interval
avoidance_sideways
avoidance_active
ai_attack
aggro_decay_rate
ai_draw_perception_radius
avoidance_when_stopped
area_notification
area_notification_duration
add_money - Add money to your character
add_xp - Add XP to your character
ai_enabled
add_to_party
ai_revive_debug
ai_loot_pickup_delay
ability_bind
ability_purchase
ability_dump_all
ability_dump
auto_grant_empowered_attacks
ability_autoassign
attract_enable
allow_auto_level_up
allow_skip_level_up
attract_movie_name
attract_movie_delay

batched_lighting
brightness
base_stats_print

combat_knockback_duration
combat_knockback
combat_friendly_fire
combat_damage
combat_print
contrast
con_queue_disable
companion_perception_buff
connection_reset
changelevel
combat_hard_threshhold
companion_alternate_cooldown
camera_remote_interpolate_dist
camera_shared
critical_override
camera_center_on_object
camera_mouse_sensitivity
console_close
console_toggle
console_open
camera_auto_rotate_deadzone
camera_auto_rotate_scale
camera_yaw_max_velocity
camera_yaw_damp
camera_yaw_speed
camera_recenter_delay
camera_multiplayer_control
cost_divider_for_enchant
credits
clear - Clears all previous console output

exec - Run console scripts, located in global\console_scripts\*.txt Eg: exec global\console_scripts\bad_ass
endgame_disconnect

fade_draw
fade_aggressive
find
float_text
float_text_exp_y
float_text_exp_x
find_games_receive_invites
find_games_party

gui_delay_load_sleep
gui_delay_load_name
gui_mem_report_detailed
gui_mem_report
get_global_variable
gui_resource_dump
gui_trace
gui_timescale
gamma
give_unlockable
gui_warning
god - Toggle God mode on player
getpos
game_mode_reset_on_exit
game_mode
gui_quest_filter
gui_split_screen
gui_ingame_character_select
gui_show

human_attack_bias
heal
hide_spinner
hud_fade_duration
hud_show_names

infinite_resource
interpolation_tolerance
if
item_spawn
inv_drop
item_print_by_id
item_print_by_tag
inv_print
inner_warmth_time
inner_warmth_dmg
inner_warmth_hp
ingame_scn_mp
inv_mark_viewed
inv_show_remote_companions
inv_show_remote_players
inv_show_defaults
ingame_screen_fade_duration

journal_load
journal_save
journal_play
journal_stop
journal_record

knockback_prediction_hold
kick
kill

load_art_objects_only
load_game_objects
level_debug
load_spinner_delay
loot_spawn_from_template
loot_random_spawn_from_template
loot_print_template
level_up_delay
level_scaling_dlc
level_scaling_difference_threshhold
level_scaling_target_range
level_scaling_enabled
loading_screen_fadeout_duration
load_full_party
loot_points_per_enchant
load_level_filter
load_level_test

max_combat_channel_dist
mission_open_list
mission_list
mission_set_end_state
mission_set_status
max_auto_target_ui_dist
multiplayer_remote_enabled
multiplayer_local_enabled
modal_close_all
multiplayer_stuck_warp_delay
multiplayer_tether_range
max_players
multiplayer_ai_idle_time
multiplayer_tether_others
multiplayer_remote_warp
multiplayer_tether_screen
minimap_enabled - Show/Hide minimap, top right.
minimap_scale - Change level of zoom used in the minimap.
minimap_rotate
minimap_yaw
minimap_alpha
main_menu_load_level
main_menu_credits
main_menu_dlc
main_menu_find_game
main_menu_continue
message_box_ok

net_interpolate_max_stopped_time
net_extrapolate
net_interpolate
net_position_offset_z
net_position_offset_y
net_position_offset_x
net_activation_delay
net_predict_knockback
net_predict_reaction
net_ip
net_port
net_loopback
new_game_data

objective_set_status
objective_list
overheal

projectile_impact_fx
platform_speed
platform_accel_dist
path_blocker_disable_all
platform_predict_movement
play_anim
player_additive_speed
player_min_health
player_damage
platform_delay
pause
party_add_xp
party_set_level
party_restrict_class
party_single_player_limit
party_default_companions
player_ai
player_name_from_class
player_add
player_level
print_loyalty
player_class
popup
post_charselect_new_game_data

quit -Quit game completely, back to Windows.

render_csa
reset_tutorial
render_hit_flash
rumble
revert
revert_all
respawn
retry
reconnect
rcon
restart_server
respawn_interval

script_list
script_run - Runs AMX files located global\scripts, followed by the function name and arguments. Eg: script_run global\scripts\00_intro\00_intro CamShake will result in the screen shaking once you modal_close_all. I haven't looked into AMX files yet, will do a follow up post once I find more out.
set_light_set
set_global_variable
stats_print
speedy
show_all_damage_numbers
subtitle_notification
seek_fullscreen_movie
stop_fullscreen_movie
start_fullscreen_movie
status_effect_apply_to_player
scale
set_level
set_resource
set_health
status
startcell
startlevel
startlevel_data
stream_proximity_radius
survival_creature_set
say
start_conversation
screen_shake_move_camera
session_type
save_load_enabled
show_spinner
save

timeline_reload
toggle_tutorial
tutorial_enabled
toggle_pause
target_ui_neutral_player_index
target_ui_hostile_player_index
target_ui_neutral
target_ui
top_down_mp_fov
top_down_mp_distance
top_down_mp_pitch
top_down_yaw_offset
top_down_collision_mp_pitch_speed
top_down_collision_mp_decay
top_down_collision_mp_hold
top_down_collision_mp
top_down_collision_sp
top_down_zoom_all

unpause
unlock_all
user_setup_delay

warning_notification
write_file
warp_to_player
warp_to_position

 yaw_offset


Hacked solar garden light with moisture sensor

I had 4 garden solar lights laying around as every time I mow I pull them out and never bother sticking them back in the ground.
I wanted something that would notify me when my plants needed watering, when making the moisture sensors I thought I could just hook them up to the LDR on the solar lights and everything would be sweet, but when I cracked open the lights the clever Chinese hadn’t used an LDR, they had just directly used the solar panel, if power was coming in turn lights off, power stops, turn lights on.
This was just as easy to tap into though, and in no time I had my moisture sensor rigged up and working, now I just need to see if it works in RL.

Digital Photo Frame - PF1

We were given a digital photo frame a few years back, and haven't used it. So I figured rather than it go to waste I'd crack it open and see what was fun inside.




Markings on the outside:
PF1070803084

Digital Photo Frame
Model: PF1
Keycode: 41787335

Inside I found a LCD screen and 2 PCBs, main PCB has following markings:
DPF-PF1 (SQ812B)
P/N: 5180341
2007-8-14
V0.1

4 main chips on this PCB are:
SQ812B-Q
0730-QW08B4G2
H21028
Brief

EON
EN29LV040A-70JCCP
173C180
0731TDA
Datasheet

ISSI
IS42S16400B-7TL
A1518000W 0723
Datasheet

VXIS
VX1826
Brief

Things of interest:
1. Holes for USB, as I have time I'm tracing back where this goes to try and enable it, see if firmware will detect it.
2. CVBS and AGND markings for Composite video output.

I will hopefully be getting a flash chip programmer soon, then I wanted to have a peak at what's stored in the flash, I'm hoping it's the firmware and I can have a poke around at that, though I haven't had much experience disassembling firmware so see how far I get (-:

I'm also interested in VX1826, it supports I2C(IIC), might be able to use it as an easy I2C LCD screen.

Let me know if you have any further information about any of these chips, or if you have one of these units and have successfully modified them at all, I'd love to hear from you.

Dynaclear-PL75 Touchscreen - Reverse engineering

Other markings on the touchscreen and controller are: MicroTouch, RES-15.0-PL8, 95409 D, TDP#3169, 060304C0338, SR-12-8W-232, ETP-PB-031C-0349



I was given a touchscreen that had a dead LCD, but the touchscreen part still worked. I didn't have any drivers or manuals for it, so tried searching for part numbers. I found this was a Dynaclear-PL75, whose website goes to 3M with no further references.

The touchscreen has a ribbon cable leading to 8wires that connect to a small PCB. At the other end of the PCB is 5wires, in 2 groups. 2wires go to a plug, they are Red and Black so I assume power. The other 3 wires go to a 8pin connector, which I know plugged into the serial port on the motherboard of the computer it use to work with. These cables are Red, Brown and Black.



I plug the 2wire power plug into my breadboard and hook up my Dick Smith power adaptor set to 3V. I connect the Ground of my USBee Logic Analyser to the ground on my breadboard, then I connect channels 1-3 to the 3wire group(Red, Brown, Black).



While I'd assume this is 3wire serial communication, so Red/Brown are Tx/Rx and Black is ground, I'm not sure. I power the touchscreen on, start recording on the USBee Suite and press around on the touchscreen.
Once the recording stops, there are no signals detected.

So I change the power supply to 5V, start recording again and push the touchscreen, this time I notice a small green LED lights each time I press the touchscreen, which is encouraging. Once the recording stops there are signals on 1 of the wires.



Figuring this is Async I setup a decoder for it and view the decoded info. I get 0x81 at the start of a 5byte signal, which I'm pretty sure if serial.

I start recording again, and press the screen in a pattern, as shown.



One the decoding finished, I find there are 4 distinct signal groups.



Each group has almost the same pattern in it, so the touchscreen is sending the location even when your finger is held down.

Each group has the following signals:
1. 0x81 0x00 0x5C 0x0F 0x11
2. 0x81 0x0F 0x27 0x0E 0x3F
3. 0x81 0x0F 0x46 0x00 0x69
4. 0x81 0x00 0x79 0x01 0x1E

0x81 is start byte, so guessing remaining 4 bytes are x and y coordinates. Converting to Decimal brings:
1. 92, 3857
2. 3879, 3647
3. 3910, 105
4. 121, 286

So there we have it, educated guess x and y are 0 to 4000. I plan on hooking this up to a linux machine, so I'll release source code once that's done to assist anyone else wanting to do something similar.

If anything is wrong here let me know, I'm just a hobbyist at this stuff.

Upgrading Topfield TF4400PVRt to 250GB SATA HDD

Bought the PVR off eBay a few years back, came with a 80gb IDE harddrive. There is not a whole lot on TV I watch so 80gb was more than enough for my needs. With the new Free to Air stations though, I've found at times I've filled the drive. Mainly during cricket season.

I had a 250gb SATA drive that was in my home made computer PVR before its motherboard packe it in, so rather than buy a new IDE HDD I looked for ways to use this one. I found an IDE to SATA converter on eBay for ~$7 delivered, only problem was the IDE connector was under the HDD mount, even if I moved the HDD the converter sat too high to put the PVR lid back on. So I soldered together 2 male to male IDE connectors and plugged 2 IDE cabled into each other, which aligned the pins the right way and let me move the converter to under the HDD mount.

A better solution would have been to solder an IDE cable onto and male IDE connector, to properly align the pins, but I don't have a wire stripper for wires that small and couldn't be bothered stripping 40 wires with a knife and soldering the 40 small wires either.

I noticed how hot the 80gb HDD got, knowing a 250gb HDD would get hotter which would lead to early failure, I decided to add a fan while I did the upgrade too. I soldered the fan wires onto the power connector of the SATA converter.

Converter connected to 2 IDE cables and hacked connectors
Cable folded and fan attached.
HDD mounted